The present invention is related to a co-pending application filed concurrently herewith and entitled xe2x80x9cMethod and System For Providing Dynamic Hosted Service Management Across Disparate Accounts/Sites,xe2x80x9d a copy of which is attached hereto and the disclosure of which is hereby incorporated by reference.
The present invention relates generally to the field of computer processing systems. More specifically, the present invention relates to a scalable server engine comprised of a large number of commercially available server boards each arranged as an engine blade in a power and space efficient chassis.
The explosive growth of the Internet has been driven to a large extent by the emergence of commercial service providers and hosting facilities, such as Internet Service Providers (ISPs), Application Service Providers (ASPs), Independent Software Vendors (ISVs), Enterprise Solution Providers (ESPs), Managed Service Providers (MSPs) and the like. Although there is no clear definition of the precise set of services provided by each of these businesses, generally these service providers and hosting facilities provide services tailored to meet some, most or all of a customer""s needs with respect to application hosting, site development, e-commerce management and server deployment in exchange for payment of setup charges and periodic fees. In the context of server deployment, for example, the fees are customarily based on the particular hardware and software configurations that a customer will specify for hosting the customer""s application or website. For purposes of this invention, the term xe2x80x9chosted servicesxe2x80x9d is intended to encompass the various types of these services provided by this spectrum of service providers and hosting facilities. For convenience, this group of service providers and hosting facilities shall be referred to collectively as Hosted Service Providers (HSPs).
Commercial HSPs provide users with access to hosted applications on the Internet in the same way that telephone companies provide customers with connections to their intended caller through the international telephone network. The computer equipment that HSPs use to host the applications and services they provide is commonly referred to as a server. In its simplest form, a server can be a personal computer that is connected to the Internet through a network interface and that runs specific software designed to service the requests made by customers or clients of that server. For all of the various delivery models that can be used by HSPs to provide hosted services, most HSPs will use a collection of servers that are connected to an internal network in what is commonly referred to as a xe2x80x9cserver farmxe2x80x9d, with each server performing unique tasks or the group of servers sharing the load of multiple tasks, such as mail server, web server, access server, accounting and management server. In the context of hosting websites, for example, customers with smaller websites are often aggregated onto and supported by a single web server. Larger websites, however, are commonly hosted on dedicated web servers that provide services solely for that site. For general background on the Internet and HSPs, refer to Geoff Huston, ISP Survival Guide: Strategies For Running A Competitive ISP, (1999).
As the demand for Internet services has increased, there has been a need for ever-larger capacity to meet this demand. One solution has been to utilize more powerful computer systems as servers. Large mainframe and midsize computer systems have been used as servers to service large websites and corporate networks. Most HSPs tend not to utilize these larger computer systems because of the expense, complexity, and lack of flexibility of such systems. Instead, HSPs have preferred to utilize server farms consisting of large numbers of individual personal computer servers wired to a common Internet connection or bank of modems and sometimes accessing a common set of disk drives. When an HSP adds a new hosted service customer, for example, one or more personal computer servers are manually added to the HSP server farm and loaded with the appropriate software and data (e.g., web content) for that customer. In this way, the HSP deploys only that level of hardware required to support its current customer level. Equally as important, the HSP can charge its customers an upfront setup fee that covers a significant portion of the cost of this hardware. By utilizing this approach, the HSP does not have to spend money in advance for large computer systems with idle capacity that will not generate immediate revenue for the HSP. The server farm solution also affords an easier solution to the problem of maintaining security and data integrity across different customers than if those customers were all being serviced from a single larger mainframe computer. If all of the servers for a customer are loaded only with the software for that customer and are connected only to the data for that customer, security of that customer""s information is insured by physical isolation.
Up to now, there have been two approaches with respect to the way in which HSPs built their server farms. One approach is to use a homogenous group of personal computer systems (hardware and software) supplied from a single manufacturer. The other approach is to use personal computer systems supplied from a number of different manufacturers. The homogeneous approach affords the HSP advantages in terms of only having to support a single server platform, but at the same time it restricts the HSP to this single server platform. The heterogeneous approach using systems supplied from different manufacturers is more flexible and affords the HSP the advantage of utilizing the most appropriate server hardware and software platform for a given customer or task, but this flexibility comes at the cost of increased complexity and support challenges associated with maintaining multiple server platforms.
As HSPs increased their capacity, the number of servers in their computer room or data center also increased. To conserve on floor space in the computer room or data center, an HSP would install rack mounted cabinets to allow multiple servers to be stacked together on the same amount of floor space. Individual personal computer servers could then be stacked either vertically or horizontally in these rack mounted cabinets together with switching equipment and modems. As a further improvement on the conventional power packaging enclosure of a typical personal computer server, servers have been developed specifically for rack mounting in what are referred to as xe2x80x9cpizza boxxe2x80x9d or xe2x80x9cUxe2x80x9d formats where each server slides horizontally into one or more slots in a rack mounted cabinet. Examples of homogeneous servers packaged in this type of a rack mounted configuration include the RaQ server line from Cobalt Network Systems, the Netfinity server line from IBM and the A-class server line from Hewlett-Packard.
Although rack mounted servers offer a considerable improvement in terms of space efficiency as compared to conventional tower cabinet personal computer servers, installing or adding new rack mounted servers to a server farm continues to be a manual operation involving significant amounts of cabling and wire connection, as well as software and network configuration. In addition, because the rack-mounted server is designed as an independent computer system, each server is provided with its own power supply. In order to keep the overall cost of the servers reasonable, these individual power supplies are inexpensive and therefore relatively inefficient. As a result, a server farm consisting of several rack-mounted servers consumes a large amount of electricity and dissipates a large quantity of waste heat. This problem is particularly acute in the thinnest 1U form factor that would allow for the greatest number of servers to be stacked on top of each other. Because each of the 1U servers is positioned horizontally in the rack cabinet, air flow within the cabinet is severely restricted and the height of the 1 U servers prevents the use of a large enough fan to overcome these air flow restrictions.
One approach to making a server arrangement more efficient was the Chatterbox server line from ChatCom, Inc. The chassis for the Chatterbox system supported a number of front-loading, hot-swappable modules, including server motherboards, power supplies and RAID drives. In this system, specially designed server motherboards were slid into a chassis in a vertical orientation, as compared to the horizontal orientation of the motherboards for rack-mounted servers. The motherboards modules also were designed to accommodate different versions of the early Intel processors as the main CPU, and included a monitored COM port to which a modem was connected and a microcontroller and associated software that monitored the modem and managed the connection of the I/O port to the main CPU on the motherboard. The main CPU was an Intel or Intel compatible 386, 486, Pentium or Pentium Pro processor. The motherboard was either a proprietary design of ChatCom or a generic AT style board available from one of the early PC motherboard manufacturers. Power could be distributed directly from the hot swappable power supplies in the chassis to the motherboard for these early servers because, unlike current generation servers that use standard ATX power supplies with integrated power management and control, these early servers had no power management and control systems incorporated into the standard circuitry for the motherboard.
Although the Chatterbox server line allowed for more convenient access to the hot-swappable modules, cabling connections for the modem and network cards had to be routed along the back edge of the hot-pluggable unit and har to be removed prior to removal of the unit. In a convention tower chasses personal computer server, the network and modem cards are inserted in connector slots such that they are oriented perpendicular to the surface of the motherboard. In the Chatterbox server line, these cards had to be positioned parallel to the surface of the motherboard in order to allow the motherboard module to fit vertically into the chassis. This made accessing the cabling connections difficult as the motherboard module needed to be removed from the chassis in order to make any cabling changes.
Other packaging arrangements have been proposed for servers. In U.S. Pat. No. 5,877,938, a packaging system for a server provides for hot swappable disk drives and power supply modules and uses a horizontal tray compartment at the top of the chassis to contain the server motherboards stacked in a horizontal orientation in the slide out tray. In U.S. Pat. No. 6,025,989 a modular arrangement for a rack mounted computer processor is described in which the disk drive, fan, motherboard and power supply are arranged in side-by-side sub modules within a rack mounted horizontally oriented housing.
Packaging arrangements for other types of multiple computer processor systems have sought to solve some of the problems of locating and accessing multiple components in a cabinet by using a midplane arrangement that effectively divides the circuitry for each component into a front processor portion and a rear I/O portion that are separated by a midplane. U.S. Pat. No. 5,251,097 describes a supercomputer packaging architecture with orthogonal midplanes where the I/O portion is connected at the front to the midplane and at the rear to a backplane. U.S. Pat. No. 5,488,541 describes a VME backplane arrangement with a connectorized midplane to connect multiple processors together. U.S. Pat. No. 5,912,802 describes a midplane telecommunication switch cabinet that houses multiple telephony switching components.
The issue of being able to use different types of motherboards in a common tower-type cabinet for a personal computer has been addressed in U.S. Pat. Nos. 6,035,356 and 6,094,351. In U.S. Pat. No. 6,035,356 a cross-platform architecture for tower-type personal computers uses two boards in place of a conventional single motherboard. The first board is a processor board and the second board is the I/O board. The boards are oriented in a vertical position and arranged within an elongated housing in an offset end-to-end parallel orientation and connected by a pair of connectors. In this way different motherboards can be connected to a common design for the I/O board through the pair of connectors. In U.S. Pat. No. 6,094,351 two different kinds of removable backpanels are used to accommodate different types of motherboards in a common tower-type cabinet.
Although numerous enhancements and improvements have been made to the way in which computer processors, and servers in particular, are packaged, it would be desirable to provide an arrangement for a scalable Internet engine that could accommodate a large number of commercially available server boards in a power and space efficient cabinet.
The present invention is a scalable Internet engine comprised of a large number of commercially available server boards each arranged as an engine blade in a power and space efficient cabinet. The engine blades are removably positioned in a front side of the cabinet in a vertical orientation. A through plane in the middle of a chassis assembly within the cabinet provides common power and control peripheral signals to all engine blades. I/O signals for each engine blade are routed through apertures in the through plane to interface cards positioned in the rear of the cabinet. The scalable engine can accommodate different types of server boards in the same chassis assembly because of a common blade carrier structure. Different types of commercially available motherboards are mounted in the common blade carrier structure that provides a uniform mechanical interface to the chassis assembly. A specially designed PCI host board that can plug into various types of motherboards has a first connector for connecting to the through plane and second connector for connecting to the interface cards. Redundant hot-swappable high-efficiency power supplies are connected to the common power signals on the through plane. The host board includes management circuitry that distributes the power signals to the server board for that engine blade by emulating the ATX power management protocol. Replaceable fan trays are mounted below the engine blades to cool the engine. Preferably, the cabinet accommodates multiple rows of engine blades each in a sub-chassis that are stacked on top of each other, as well as rack mounted networks switches and disk drives.
The scalable engine of the present invention has numerous advantages over the designs of existing servers. Unlike existing homogenous server configurations that rely on similar server boards from the same manufacturer, the scalable Internet engine supports many different types of commercially available server boards that can all be mounted in the same uniform chassis. This allows an HSP to utilize different server boards for different applications within the same chassis. It also enables the use of state-of-the-art ATX motherboards as soon as these boards are available, and takes advantage of the reduced costs and increased reliability of mass-produced, commodity ATX motherboards.
The unique through plane arrangement allows for true hot swappable capabilities for both the engine blades and the interface cards. Individual engine blades can be removed and replaced without the need to unplug interface cards or network cabling. This eliminates one of the highest points of failure in maintaining any computer system, namely problems caused by the disconnection and reconnection of I/O cables. Connections for all of the data paths are isolated to protect against data faults during removal or insertion of an engine blade. In one embodiment, a passive I/O backplane is interposed between the second connector of the host board and the interface card on the rear side of the through plane. The I/O backplane routes the PCI signals to allow for side-by-side installation of two or more interface cards per engine blade.
The scalable engine allows for multi-level fault tolerance and redundancy to be implemented across all components in a highly effective manner. As described in more detail in the co-pending application entitled xe2x80x9cMethod and System For Providing Dynamic Hosted Service Management Across Disparate Accounts/Sitesxe2x80x9d, engines blades can be assigned from one customer to another customer easily and automatically without the need for manual intervention. This enables the dynamic allocation of blades in response to changing customer requirements and allows the HSP to make use of excess server resources that otherwise would be statically assigned to a single customer domain. Redundant engine blades can be assigned to a particular customer and quickly and automatically brought online in the event of an engine blade failure. The power supplies preferably are highly efficient and triple redundant (N+2). Similarly, the use of multiple fan trays provides for redundant cooling protection for each row of engine blades. Maintenance requirements are greatly simplified by the overall design of the scalable engine.
In a preferred embodiment that uses a 19 inch NEBS compliant cabinet, a single cabinet engine can support up to 32 engine blades. This scalable engine provides the same server capacity as conventional 2U rack mounted servers in half the floor space with savings of 75 percent in both power and air-conditioning requirements.
The management circuitry associated with each engine blade allows for efficient management and control of the scalable engine outside of the I/O network of the server engine. This circuitry reports status and error conditions, controls power up and power down operations by emulating the standard ATX power management protocol and communicates with an agent executing on the processor in the motherboard.
All of the engine blades can be connected to and controlled from a single console and keyboard, even when multiple cabinets are arranged in the side-by-side configuration. Common peripheral devices, such as a keyboard, video, mouse, diskette drive, can be selectively switched by the system operator to any of the engine blades.